﻿namespace Resharper.Abstractions.Generators
{
  using System.Collections.Generic;
  using JetBrains.Annotations;
  using Resharper.Abstractions.Shell;

  /// <summary>
  /// The <see cref="IGeneratorPopulator"/> interface.
  /// </summary>
  public interface IGeneratorPopulator
  {
    #region Public Methods

    /// <summary>Populates the specified data context.</summary>
    /// <param name="context">The data context.</param>
    /// <returns>Returns the I enumerable.</returns>
    IEnumerable<GeneratorBase> Populate([NotNull] DataContext context);

    #endregion
  }
}